<?php

namespace Transaccion\Model\Dao;

use Zend\Db\Adapter\Adapter;
use Zend\Db\Sql\Sql;
use Transaccion\Model\Dao\GenericDAO;

class EspecialidadDAO extends GenericDAO {

    protected $dbAdapter;

    /**
     * Nombre de la Tabla
     * @var type string
     */
    protected $tabla = 'especialidad';
    private static $especialidadDao;

    /**
     * Configura Adaptador de Base de Datos
     * 
     * @param \Zend\Db\Adapter\Adapter $adapter
     */
    private function __construct(Adapter $adapter) {
        $this->dbAdapter = $adapter;
    }

    /**
     * 
     * @param type $adapter
     * @return instancia de EspecialidadDao
     * Patron singleton
     */
    public static function getInstance($adapter) {
        if (self::$especialidadDao == null) {
            self::$especialidadDao = new EspecialidadDao($adapter);
        }
        return self::$especialidadDao;
    }

    /**
     * ESTA TABLA NO TIENE ID UNICO (ESTRUCTURA VIEJA)
     * @return: REGISTROS QUE TENGAN ASOCIADO LA ESPECIALIDAD DADA
     * POR PARAMETRO
     */
    public function getRegistro($idEspecialidad) {
        $sql = new Sql($this->dbAdapter);
        $select = $sql->select();
        $select->from($this->tabla);
        $select->where("sespeid = '" . $idEspecialidad . "'");
        $select->order(array('sespeid ASC'));
        $selectString = $sql->getSqlStringForSqlObject($select);
        $adapter = $this->dbAdapter;
        $results = $adapter->query($selectString, $adapter::QUERY_MODE_EXECUTE);
        return $results;
    }

}
